import model.UserBean;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
//        // 方法二: 通过  BeanFactory 来获取 Spring 的上下文对象
//        BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
// 方法二: 通过类型获取
//UserBean user = context.getBean(UserBean.class);
// 方法三: 通过 id+类型 来获取
//UserBean user = context.getBean("user",UserBean.class);
public class App {
    public static void main(String[] args) {
        // 1. 获取到 Spring 的上下文对象
        // 方法一: 通过 ApplicationContext 来获取 Spring 的上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        // 方法二: 通过  BeanFactory 来获取 Spring 的上下文对象
        BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
//       2. 通过 Spring 上下文对象来获取业务对象
        // 方法一: 通过 bean 的 id 来获取
        UserBean user = (UserBean) context.getBean("user");
        // 3. 使用业务对象
        user.printName("Spring");
    }
}
